package com.urea.system.domain.vo;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.urea.common.annotation.Excel;
import com.urea.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 终端对象 t_terminal
 * 
 * @author liuzd
 * @date 2023-08-01
 */
@Data
@ToString
@ApiModel("终端对象")
public class TerminalVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("终端id")
    private Long id;

    /** 设备名称 */
    @Excel(name = "设备名称")
    @ApiModelProperty("设备名称")
    private String terminalName;


    /** 终端编号 */
    @Excel(name = "终端编号")
    @ApiModelProperty("终端编号")
    private String terminalNo;

    /** 所属代理商 */
    @Excel(name = "所属代理商")
    @ApiModelProperty("所属代理商")
    private Long agentUid;

    /** 终端商 */
    @Excel(name = "终端商")
    @ApiModelProperty( "终端商")
    private Long terminalUid;

    /** 门店id */
    @Excel(name = "门店id")
    @ApiModelProperty( "门店id")
    private Long storeUid;

    /** 在线状态;0否，1是 */
    @Excel(name = "在线状态;0否，1是")
    @ApiModelProperty( "在线状态;0否，1是")
    private Integer online;

    /** 是否分配;0否，1是 */
    @Excel(name = "是否分配;0否，1是")
    @ApiModelProperty( "是否分配;0否，1是")
    private Integer assign;

    /** 设备容量;单位L */
    @Excel(name = "设备容量;单位L")
    @ApiModelProperty( "设备容量;单位L")
    private BigDecimal capacity;

    /** 当前容量;单位L */
    @Excel(name = "当前容量;单位L")
    @ApiModelProperty( "当前容量;单位L")
    private BigDecimal currentCapacity;

    /** 经度 */
    @Excel(name = "经度")
    @ApiModelProperty( "经度")
    private BigDecimal longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    @ApiModelProperty( "纬度")
    private BigDecimal latitude;

    /** 模型0联网 1脱机 */
    @Excel(name = "模型0联网 1脱机")
    @ApiModelProperty( "模型0联网 1脱机")
    private Integer model;

    /** 是否付费0否，1是 */
    @Excel(name = "是否付费0否，1是")
    @ApiModelProperty( "是否付费0否，1是")
    private Integer paid;
    /** 终端使用过期时间*/
    @Excel(name = "终端使用过期时间")
    @ApiModelProperty( "终端使用过期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime useExpiredTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty( "创建时间")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdTime;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty( "修改时间")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedTime;
    /** 是否车队用户 0否 1是 */
    private String isFleet;

    private Long countNo;

    /** id */
    @ApiModelProperty( "消息id")
    private Long noticeId;

    /** 类型;0尿素不足，1离线 */
    @Excel(name = "类型;0预警，1故障")
    @ApiModelProperty( "类型;0预警，1故障")
    private Integer noticeType;

    /** 终端容量 */
    @Excel(name = "终端容量")
    @ApiModelProperty( "终端容量")
    private BigDecimal terminalCapacity;

    /** 预警信息 */
    @Excel(name = "预警信息")
    @ApiModelProperty( "预警信息")
    private String notice;

    /** 状态;0未处理，1已处理 */
    @Excel(name = "状态;0未处理，1已处理")
    @ApiModelProperty( "状态;0未处理，1已处理")
    private String status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty( "消息创建时间")
    @Excel(name = "消息创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime noticeTime;

    @ApiModelProperty( "代理商名称")
    private String nickName;

    /** 终端id */
    @ApiModelProperty( "终端id1")
    private Long terminalId;
    /**消息处理标识 0 加满 1定量添加*/
    @ApiModelProperty( "消息处理标识 0 加满 1定量添加")
    private String msgHandleType;
    /**添加数量*/
    @ApiModelProperty( "添加数量")
    private BigDecimal addNum;
    @ApiModelProperty( "终端代理商名称")
    private String terminalUserName;
    @ApiModelProperty( "门店名称")
    private String storeUserName;
    @ApiModelProperty( "车队名称集合")
    private String terminalFleetName;
    @ApiModelProperty( "当天加注数量")
    private BigDecimal currDayFillCount = BigDecimal.ZERO;
    @ApiModelProperty( "当月加注数量")
    private BigDecimal currMonthFillCount = BigDecimal.ZERO;
    /** 设备系数 */
    @Excel(name = "设备系数")
    @ApiModelProperty( "设备系数")
    private Long pulse;

    /** 单价（分） */
    @Excel(name = "单价", readConverterExp = "分=")
    @ApiModelProperty( "单价")
    private Long price;
    /** 超时时间（秒） */
    @Excel(name = "超时时间", readConverterExp = "秒=")
    @ApiModelProperty( "超时时间")
    private Long timeout;
    private String userType;

    // 来源 0pc 1公众号
    private String from;


}
